package cn.htsyb.synergy.security.bean.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.Type;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 用户 Vo
 * codeMaker at 2020-07-14
 * @author lakeside hubin_yuan.410@hotmail.com
 * @since 2020-07-14
 */
@Setter
@Getter
@Schema(description = "用户 Vo")
public class SecurityUserVo {
    /**逻辑编号*/
    @Schema(name = "id", description = "逻辑编号")
    protected  String  id;
    /**有效状态*/
    @Schema(name = "validStatus", description = "有效状态")
    protected  String  validStatus;
    /**创建者*/
    @Schema(name = "createdBy", description = "创建者")
    protected  String  createdBy;
    /**创建时间*/
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Schema(name = "createdDate", description = "创建时间")
    protected  Date  createdDate;
    /**最后修改者*/
    @Schema(name = "modifiedBy", description = "最后修改者")
    protected  String  modifiedBy;
    /**最后修改时间*/
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Schema(name = "modifiedDate", description = "最后修改时间")
    protected  Date  modifiedDate;
    /**备注描述*/
    @Schema(name = "remarkNote", description = "备注描述")
    protected  String  remarkNote;
    /**排序序号*/
    @Schema(name = "sortNum", description = "排序序号")
    protected  Integer  sortNum;
    /**头像*/
    @Schema(name = "avatarUrl", description = "头像")
    protected  String  avatarUrl;
    /**身份证号*/
    @Schema(name = "cardId", description = "身份证号")
    protected  String  cardId;
    /**邮箱*/
    @Schema(name = "email", description = "邮箱")
    protected  String  email;
    /**失效时间*/
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Schema(name = "expiredTime", description = "失效时间")
    protected  Date  expiredTime;
    /**是否内部配置*/

    @Schema(name = "hasInside", description = "是否内部配置")
    protected  Boolean  hasInside;
    /**员工工号*/
    @Schema(name = "jobCode", description = "员工工号")
    protected  String  jobCode;
    /**员工职位*/
    @Schema(name = "jobPost", description = "员工职位")
    protected  String  jobPost;
    /**领导者*/
    @Schema(name = "leaderId", description = "领导者")
    protected  String  leaderId;
    /**手机号*/
    @Schema(name = "mobile", description = "手机号")
    protected  String  mobile;
    /**归属组织编码*/
    @Schema(name = "organizeCode", description = "归属组织编码")
    protected  String  organizeCode;
    /**归属组织主键*/
    @Schema(name = "organizeId", description = "归属组织主键")
    protected  String  organizeId;
    /**密码*/
    @Schema(name = "password", description = "密码")
    protected  String  password;
    /**真实姓名*/
    @Schema(name = "realName", description = "真实姓名")
    protected  String  realName;
    /**用户名*/
    @Schema(name = "username", description = "用户名")
    protected  String  username;

}